<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      /**
    简单描述:
      基于web worker（一个独立于JavaScript主线程的独立线程，在里面执行需要消耗大量资源的操作不会堵塞主线程）
      在web worker的基础上增加了离线缓存的能力
      本质上充当Web应用程序（服务器）与浏览器之间的代理服务器（可以拦截全站的请求，并作出相应的动作->由开发者指定的动作）
      创建有效的离线体验（将一些不常更新的内容缓存在浏览器，提高访问体验）
      由事件驱动的,具有生命周期
      可以访问cache和indexDB
      支持推送
      并且可以让开发者自己控制管理缓存的内容以及版本
    生命周期
      下载
      安装
      安装完成后 当用户刷新当前页面时或者导航另一个页面新的serives worker才能使用
      激活
      可以监听浏览器的fetch请求并进行缓存 更新的话可以在服务端修改文件的内容 修改1kb就会重新激活下载serivesworker并更新文件
      

    */
    </script>
  </body>
</html>
